[레포트] AWS, Confluent와 함께 데이터 플랫폼 마이그레이션, 현대화
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 AWS Partner Summit Korea 2022 세션중「AWS, Confluent와 함께 데이터 플랫폼 마이그레이션, 현대화」세션을 정리해 봤습니다.
세션 개요
DESCRIPTION
데이터 플랫폼은 기업이 고객, 직원들에게 차별화된 경험을 제공하는데 중요한 역할을 맡고 있습니다. Confluent의 클라우드 네이티브 데이터 스트리밍 플랫폼은 AWS 서비스, 보안, 요금체계, 관리방식과 완전 통합되어 있어, 기업이 실시간 움직이는 데이터를 통해 새로운 기회를 창출할 수 있도록 지원합니다. Confluent가 어떻게 Apache Kafka를 재설계하고 데이터를 클라우드에서 안전하고 실시간으로 처리하는지 알아보시기 바랍니다.
SPEAKERS
강연자
세션
Agenda
- AWS, Confluent와 함께 데이터 플랫폼 마이그레이션, 현대화
- Confluent가 어떻게 AWS 기반 데이터 플랫폼의 마이그레이션, 현대화를 지원할까요?
AWS, Confluent와 함께 데이터 플랫폼 마이그레이션, 현대화
- 우리는 매일 데이터가 어떻게 우리 일상을 바꾸고 있는지 많은 분야에서 접해볼 수 있음
- 모바일 애플리케이션에서의 인터랙션이나 복잡한 Space X 발사에서 실시간 매트릭스를 볼 수 있고 유지보수를 맡고있는 작업자가 태블릿을 갖고 일을 하고 의사가 디지털화된 의료정보를 갖고 일하는것을 봤을 것
- 우리는 이렇게 데이터 홍수 속의 데이터를 접하고 살고 있음
- 데이터는 풍부한 프론트엔드 고객 경험을 구축하는데 도움이 됨
- 현재 비즈니스가 Netflix와 같은 OTT 서비스가 당장 연관이 없다 하더라도 고객은 어느 방면에 있어도 이런 Netflix와 같은 유사한 경험을 기대 하고 있음
-
데이터는 풍부한 프론트엔드 고객 경험을 구축하는데 도움이 됨
-
현재 비즈니스가 Netflix와 같은 OTT 서비스가 당장 연관이 없다 하더라도 여러분의 고객은 어느 방면에 있어도 이런 Netflix와 같은 유사한 경험을 기대 하고 있음
-
데이터는 기업들이 백엔드 운영을 실시간으로 바꾸는데 영향을 미침
-
Amazon과 같은 대규모 이커머스 회사가 대규모 창고에서 데이터를 활용하여 효율성과 속도를 향상시킨 것이 좋은 예
-
Confluent는 전 세계 어느 곳에서나 이러한 유형의 결과를 가능하게 하는 기술과 풍부한 경험을 갖고 기업들에게 제공을 하고 있음
-
Kafka는 Confluent의 창업자가 지난 2010년 Linkedin 재직 당시에 개발된 기술
-
이후 아파치 소프트웨어 재단을 통해 오픈 소스로 공급되었음
-
수만 개의 조직에서 수십만 명의 개발자를 통해 대규모로 오픈 소스가 채택됨
-
디지털 기업으로 태어난 모든 조직은 이벤트 스트리밍을 기반으로 하며, 현재 표준치 선정 100대 기업 중 80%가 오픈 소스 Apache Kafka를 통해 이벤트 스트리밍을 활용하고 있음
-
디지털 혁신의 모든 측면에서 이벤트 스트리밍이 적용되고 증가하고 있음
-
2010년 이 문제를 해결하려던 노력이 결국 Apache Kafka와 이벤트 스트리밍을 탄생 시킴
-
Apache Kafka는 확장 가능한 고가용성 데이터 스트리밍 플랫폼
-
처음에는 기업의 작은 프로젝트로 적용될 수 있지만, 궁극적으로는 기업의 중추 신경계까지 확장이 된느 경우가 많음
-
또한 Kafka를 사용하면 기존 시스템에서 더 많은 가치를 얻을 수 있으며 실시간으로 만들 수 있음
-
이벤트 스트림과 스트리밍 분석 및 처리를 중심으로 하는 Data in Motion 이라는 새로운 패러타임
-
여기서 데이터는 제자리에만 머물지 않고, 지속적으로 진화하고 실시간으로 처리 분석됨
-
오늘날에는 데이터가 정적이지 않고, 지속적으로 움직이고 있음
-
Data in Motion 구현을 위해 온프레미스 및 멀티클라우드 데이터를 클라우드 네이티브한 Confluent Cloud on AWS에 연결하여 실시간 분석을 적용해보고 애플리케이션에 연결해서 구현할 수 있음
-
오픈소스 기반의 Kafka인 Confluent Cloud on AWS는 75%의 응용 프로그램 개발 시간을 가속화하고 60% 관리 비용을 절감하기 위해 클라우드 SaaS 서비스의 Apache Kafka 를 재설계함
- Confluent는 AWS 마켓플레이스 및 서비스와 완벽하게 통합되어 관리, 운영 및 과금을 제공
- 동시에 S3, Redshift, DynamoDB, Lambda 등을 포함한 서비스에 실시간으로 데이터를 마이그레이션, 연결하는데 도움을 주고 있으며, 120개 이상의 사전 제작된 커넥터를 제공
- 이를 통해 기업은 데이터 플랫폼을 마이그레이션을 하고 현대화하며 실시간 분석을 공급하여 고객 경험을 개선함
Confluent가 어떻게 AWS 기반 데이터 플랫폼의 마이그레이션, 현대화를 지원할까요?
-
우선 레거시 데이터 플랫폼의 현대화가 필요한 이유에 대해 설명
-
2025년까지 175개의 제타바이트의 데이터가 생성되고 이는 대부분 클라우드 기반에서 발생될 것
-
클라우드 기반 데이터 플랫폼은 일반적으로 TCO가 50% 감소함
-
마지막으로 클라우드 데이터 웨어하우스는 투자 수익률이 600% 높아지고 있음
-
데이터 플랫폼을 마이그레이션에서 겪는 어려움에 대해
-
첫째는 비용
-
페더레이션 쿼리를 사용하여 모든 것을 액세스할 수 있도록 하고 컴퓨팅 파워 및 운영 오버헤드를 가져가면서 여러 시스템에 대한 액세스를 제공하는데 비용이 많이 듬
-
둘째, 레거시 시스템을 사용하면 일반적으로 여러 단계의 배치 작업으로 인해 데이터를 분석할 수 있는데 시간이 걸리므로 일부 시스템은 제한된 실시간 기능을 제공하지만 확장이 잘 되지 않는 경우가 많음
-
마지막으로 수십 년 전에 설정된 시스템 중에는 하이브리드 또는 멀티 클라우드 아키텍처를 지원하지 않는 것이 존재
-
전체 마이그레이션은 몇 년이 걸릴 수 있음
- AWS와 Confluent와 함께라면 가능
- 하이브리드/멀티클라우드 파이프라인을 구축하고 ETL 작업을 스트리밍 처리로 변환하여 현대화 TCO를 낮출 수 있음
- 일괄 처리에서 벗어나면 모든 규모의 분석을 거의 실시간으로 얻을 수 있음
- 그런 다음 데이터를 fully managed로 관리되는 Confluent Cloud로 복제하여 데이터를 다른 AWS 서비스와 신속하게 통합할 수 있음
- 레거시 데이터 원본과 AWS에서 선택한 클라우드 서비스 사이에 Confluent를 추가하여 TCO를 관리할 뿐만 아니라 웨어하우스에 데이터를 적재하기 전에 데이터 원본을 병합하고 데이터를 보강할 수 있음
-
Confluent는 Kafka의 좀 더 유연적인 데이터 연계를 가능하게 할 수 있도록 다양한 시스템과의 연계를 위한 소스 및 싱크 Kafka 커넥터를 출시하고 확장하고 있음
-
오픈 소스 Apache Kafka를 다루는 개발자에게는 두 가지 옵션이 있음
-
Kafka Connect 프레임워크를 사용하여 자체 커넥터를 개발하거나 커뮤니티에서 이미 구축한 앞서 언급한 커뮤니티에서 이미 개발된 커넥터를 활용하는 방법
-
첫 번째 옵션의 많은 시간과 노력을 필요로 함
-
2019년 Confluent는 커넥터 포트폴리오를 10개에서 100개 이상의 커넥터로 늘림
-
이러한 경험을 바탕으로 커넥터 1개를 개발하는 시간이 평균 6주 걸린다는 사실을 알게됨
-
이는 Kafka 전문가가 걸린 시간이기도 함
-
두 번째 옵션의 어려움은 오픈 소스 커넥터가 지원되지 않는다는 것
-
지원되지 않는 커넥터의 Kafka와 이벤트 스트리밍을 운영에 배포하는 회사는 상당한 리스크를 갖고 가야 함
-
이것이 Confluent가 130개 이상의 커넥트 포트폴리오를 제공하는 이유
-
100개의 커넥터는 Confluent에 의해 개발되고 지원되며, 30개의 커넥터는 Confluent의 완전한 검증을 통해 파트너에 의해 개발되고 지원 됨
-
온프레미스 Confluent Platform을 사용하거나 풀리 매니지드 Confluent Cloud에서든 어디서나 커넥터를 사용할 수 있음
-
100개의 커넥터는 Confluent에 의해 개발되고 지원되며, 30개의 커넥터는 Confluent의 완전한 검증을 통해 파트너에 의해 개발되고 지원 됨
-
온프레미스 Confluent Platform을 사용하거나 풀리 매니지드 Confluent Cloud에서든 어디서나 커넥터를 사용할 수 있음
-
고객들은 AWS에서 fully managed 제품과 자체 데이터 센터에서 운영되는 제품 사이에서 선택이 가능함
-
AWS Edge services 혹은 VPC 그리고 물론 둘다 사용 가능
-
또한 Full managed와 self managed를 연결할 수 있음
-
이는 점점 우리의 대형 고객에게 중요한 마이그레이션 전략이 되고 있음
-
그 이유는 신규 애플리케이션이 온프레미스 레거시 시스템과 데이터를 연결해서 데이터의 input, output이 가능하게 해서 한번의 대형 마이그레이션 계획을 세우지 않아도 되서임
-
설치형 Confluent Platform이나 Confluent Cloud 모두 Subscription 즉 구독형으로 제공하고 있어서 사용한 것만큼만 과금이 됨
-
쿠버네티스를 위한 컨플루언트와 AWS Edge 서비스는 컨플루언트를 어디서나 사용 가능하게 함
-
Confluent Cluster Linking은 Data in motion에 도움을 줄 수 있음
-
에지, 지역, 본사 등 모든 사이트를 연결하여 글로벌 데이터 메시를 형성하는 데 도움이 될 것
-
데이터는 온프레미스와 온프레미스, 클라우드와 클라우드 사이 온프레미스 및 클라우드, 에지 및 클라우드, 필요한 환경 간에 복제를 가능하게 함
-
이 모든 것은 Kafka의 내부 복제 메커니즘을 활용하고 소스 및 복제된 토픽간의 오프셋을 보존 해줌
-
멀티리전 클러스터 또는 DR 시나리오에서는 오프셋 보존이 유용함
-
이제 우리는 Confluent를 여러 곳에 디플로이 하고 모든 시스템과 연결 됨
-
이제 실제로 데이터를 시스템에서 어떻게 보내고 내보내는지에 대해서 궁금해 할 것임
-
먼저 지원되는 다양한 클라이언트에 대해서 이야기
-
대부분의 요구하는 use case를 커버할 것으로 보임
-
원격에서 Fortran을 사용하고 있는 곳에서는 적용이 어렵다고 생각하겠지만, REST, MQTT Proxy와 Kafka Connect를 활용하면 많은 클라이언트 개발 언어와 시스템 연계가 해결됨
-
ksqlDB는 Kafka에 들어온 데이터의 처리를 가능하게 함
-
이는 여러 데이터를 합치거나 연산, 특정 윈도우 시간에 발생하는 데이터의 처리도 가능하게 함
-
ksqlDB는 브로커와 독립적으로 실행이 되고 확장이 가능하고 고가용성을 고려하여 구성이 가능함
-
이제 Confluent 사례에 대해서 살펴봄
-
Instacart 고객은 급증하는 식료품 주문을 유연하게 처리해야 하는 과제를 갖고 있음
-
Confluent Cloud on AWS를 도입하여 이벤트 스트리밍 프랫폼을 구축하여 실시간 재고관리가 가능해졌고, 부정행위 감지 성능도 향상하고, 이전보다 더 빠른 처리 능력을 갖게 되었음
-
다음은 AO.com 사례
-
AO는 지난 20년 동안 주로 온라인으로 운영되어 옴
-
영국과 독일 전역의 수백만 고객에게 9,000개 이상의 전기 제품을 판매하는 영국 최고의 전기 제품 소매업체 중 하나임
-
AO.com은 대면보다 온라인이 급증함에 따라 신속한 고객 대응이 필요했음
-
Confluent Cloud on AWS 적용 후에 고도의 개인 맞춤 서비스를 실시간 제공해 고객 경험 향상, 고객 전환율이 30% 증가, 혁신 속도 가속화가 이뤄졌고, 무엇보다 개발자가 운영보다 중요도 높은 업무에 집중할 수 있게 됨
-
다음은 국내 사례
-
이베이 코리아는 애플리케이션이 다년간 개발 운영이 되다 보니 굉장히 복잡한 구조로 운영이 되고 있음
-
조금의 코드 변경이 예측하기 어려운 장애를 가져옴
-
MSA로의 전환을 의사 결정한 이후에 MSA 아키텍처에 Kafka를 적용했고, Confluent로 개발, 테스트를 거쳐서 오픈을 하게 되었음
-
오픈 이후 장애는 현저히 줄어들었고, 안정된 운영 및 생산성이 높아짐
-
한국투자증권은 고객데이터를 실시간으로 분석을 하고자 하는 과제가 있었음
-
이를 위해서 Kafka Confluent를 도입 했음
-
현재 프로젝트 중이고, 올해 고객데이터 분석을 위한 실시간으로 고객데이터 수집에 Confluent Kafka를 적용할 예정
참고
본 블로그에서 사용한 이미지는 AWS Summit Korea에서 제공된 발표자료와 영상을 사용했습니다.